package com.authine.cloudpivot.ext.dto.model.invoice;

import com.authine.cloudpivot.ext.Enum.InvoiceStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@Schema(description = "开票审批")
public class InvoiceApprove implements Serializable {

    private static final long serialVersionUID = -1776576141028897179L;

    /**
     * 发票申请单ID列表
     */
    @Schema(description = "审批的发票申请单ID")
    private String id;

    /**
     * 审批结果理由
     */
    @Schema(description = "审批意见")
    private String approvalReason;

    /**
     * 审批结果状态 [{@code InvoiceStatus.Returned}、{@code InvoiceStatus.DrawerConfirming}]
     */
    @Schema(description = "审批结果，拒绝=Returned, 同意=DrawerConfirming")
    private String status;
}
